/*
#include "../Systems/Render/Rendering.h"
#include "../Systems/Render/DirectXClass.h"
#include "../Objects/Camera.h"
#include "../Objects/GameObject.h"
#include "../Systems/RootSystem.h"
#include "../Objects/Lights/DirectionalLight.h"
#include "../Objects/Lights/PointLight.h"
#include "../Objects/Lights/SpotLight.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pScmdline, int iCmdshow)
{
	RootSystem* rootSystem;
	rootSystem = new RootSystem;
	rootSystem->Initialize();

	GameObject* newGameObject = GameObject::CreateCube(std::vector<float>{1, -1.5, 2}, "1");
	newGameObject->UseTexture("../Game Engine Practice/src/Tests/SampleTexture.bmp", "../Game Engine Practice/src/Tests/SampleTexture.bmp", "../Game Engine Practice/src/Tests/SampleTexture.bmp");
	newGameObject->m_transform->Rotate(0.0f, 0.0f, 0.0f);
	newGameObject->m_transform->Scale(2.0f, 1.0f, 1.0f);
	rootSystem->AddGameObject(newGameObject);

	DirectionalLight* directionalLight = new DirectionalLight(std::vector<float>{-10, 0, 0}, "light1", std::vector<float>{0.2f, 0.2f, 0.2f, 1.0f}, std::vector<float>{0.5f, 0.5f, 0.5f, 1.0f}, std::vector<float>{0.5f, 0.5f, 0.5f, 1.0f});
	rootSystem->AddDirectionalLight(directionalLight);
	PointLight* pointLight = new PointLight(std::vector<float>{0, 10, 5}, "light2", std::vector<float>{0.3f, 0.3f, 0.3f, 1.0f}, std::vector<float>{0.7f, 0.7f, 0.7f, 1.0f}, std::vector<float>{0.7f, 0.7f, 0.7f, 1.0f}, 20.0f, std::vector<float>{0.0f, 0.1f, 0.0f});
	rootSystem->AddPointLight(pointLight);
	SpotLight* spotLight = new SpotLight(std::vector<float>{-10, -1, 1}, "light3", std::vector<float>{0.0f, 0.0f, 0.0f, 1.0f}, std::vector<float>{1.0f, 1.0f, 0.0f, 1.0f}, std::vector<float>{1.0f, 1.0f, 1.0f, 1.0f}, 10000.0f, 96.0f, std::vector<float>{1.0f, 0.0f, 0.0f});
	rootSystem->AddSpotLight(spotLight);

	rootSystem->Run();
	rootSystem->Shutdown();
}
*/